$(function(){

// 使用模板引擎格式化时间
template.defaults.imports.dateFormat=function(fd){
// fd就是要格式化的时间$value.pub_date
const dt=new Date(fd)
const y=dt.getFullYear()
const m= (dt.getMonth()+1).toString().padStart(2,'0')
const d=dt.getDate().toString().padStart(2,'0')
const hh=dt.getHours().toString().padStart(2,'0')
const mm=dt.getMinutes().toString().padStart(2,'0')
const ss=dt.getSeconds().toString().padStart(2,'0')
return `${y}/${m}/${d} ${hh}-${mm}-${ss}`
}
    // 先定义查询的参数（灵活，方便以后修改）
    let q={
        pagenum:1,   //当前页码值
        pagesize:2 ,   //每页显示多少条数据
        cate_id: '',   //文章分类的 Id
        state:''    //文章的状态，可选值有：已发布、草稿
        

    }
    // 定义获取列表的数据的方法（把数据显示到列表页面中）
    function getArtList(){$.get('/my/article/list',q,function(res){
        if(res.status==0){
            // 渲染表格数据
         const htmlStr=   template('temp',res)
         $('tbody').html(htmlStr)
        //  调用分页的方法
         renderPage(res.total)
       
        }

       

    })}

    getArtList()


// 获取文章列表分类的可选项
function initCateList(){
    $.get('/my/article/cates',function(res){
        if(res.status==0){
            // 渲染下拉选项
         const htmlStrOpt=   template('temp-opt',res)
         $('[name="cate_id"]').html(htmlStrOpt)
        //  因为是动态生成的，需要重新渲染一下
         layui.form.render('select')
           
        }
    })
}
initCateList()

// 为列表可选项注册submit事件
$('form').submit(function(e){
    // 不使用筛选按钮的提交表单数据，而是通过Ajax
    // 所以阻止默认行为，用Ajax请求数据
    // 我们只需要把分章分类的ID和文章的状态动态选好，
    // 根据q选项，把数据获取到，并且渲染到页面上

    e.preventDefault()
    q.cate_id=$('[name="cate_id"]').val()
    q.state=$('[name="state"]').val()
    getArtList()
   
})


// 点击重置按钮，表单数据还原（查询参数赋值为初始的数据）,重置筛选框（reset默认就会清空）
$('[type="reset"]').on('click',function(){
    // 重新设置参数的初始值
   q={
        pagenum:1,   //页码值
        pagesize:2 ,   //每页显示多少条数据
        cate_id: '',   //文章分类的 Id
        state:''    //文章的状态，可选值有：已发布、草稿
        

    }
    // 调用方法，根据重置成功的参数对象q,获取初始筛选的数据，渲染到tr行
    getArtList()
})

// 封装设置分页的函数
function renderPage(total){
    layui.laypage.render({
        elem: 'page-box' //注意，这里的 test1 是 ID，不用加 # 号
        ,count: total, //数据总数，从服务端得到
        // 每页显示的条数
        limit: q.pagesize,
        layout:['count','limit','prev', 'page', 'next','skip'],
        // 每页显示几条数据的菜单项
        limits:[2, 3, 5, 10],
        // 设置当前页为高亮
        curr:q. pagenum,
        // 只要用户触发了分页，就会触发jump
        jump:function(obj,first){
            // 当前的页码值
            console.log(obj);
            q.pagenum =  obj.curr
            // 最新的每页显示多少条数据
            q. pagesize=obj.limit
                if(!first){
                    // 如果不是第一次执行
                    getArtList()
                }
        }
      }  
)

}

// 给删除按钮注册点击事件（委托方式）
$('tbody').on('click','.btn_del',function(){
    const id=  $(this).attr('data-id')
        // 获取删除按钮的ID值
  
    // 弹出询问框
    layer.confirm('确定要删除吗?', {icon: 3, title:'提示'}, function(index){
        //do something
      
  $.get('/my/article/delete/'+id,function(res){
    layer.msg(res.message)
      if(res.status===0){
        //   若果不是第一页，且数据只剩下最后一条时，删除数据后，页码聚会减少
         if(q.pagenum>1&&$('tbody tr').length===1){
            q.pagenum--
         }
        //   刷新数据
          getArtList()

      }
  })
        layer.close(index);
      });
  
  
})
})



